package dletc.job;

import java.sql.Blob;

/**
有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300};
创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”，“抽奖箱2”，随机从arr数组中获取奖项元素并打印在控制台上,格式如下:
抽奖箱1 又产生了一个 10 元大奖
抽奖箱2 又产生了一个 100 元大奖

 */
public class Job01 {

	public static void main(String[] args) {
		
		lottery lot = new lottery();
		
		Thread t1 = new Thread(lot);
		
		t1.setName("抽奖箱1");
		
		Thread t2 = new Thread(lot);
		
		t2.setName("抽奖箱2");
		
		t1.start();
		t2.start();
		

	}

}

class lottery implements Runnable{

	int[] arr = {10,5,20,50,100,200,500,800,2,80,300};
	
	int num = arr.length;
	
	//利用布尔数组去重  true代表已经被取过了，false代表未被取出。
	boolean[] flag = new boolean[num]; 
	
	@Override
	public void run() {
		
		while(true){
			
			synchronized ("") {
				
				if(num > 0){
					int index = (int)(Math.random()*11);
					int get = arr[index];
					
					//利用布尔数组默认值为：false  进行判断   true取过了，false没取过。
					if(flag[index] != true){
						//取出后 将false改为true，防止重复。
						flag[index] = true;
						System.out.println(Thread.currentThread().getName() + "--------" + get);
						num--;
					}
				}
			
				
			}
			
		}
		
	}
	
}
